package com.yonyougov.devops.cruxcisupport.userrole;

import com.yonyougov.devops.cruxcisupport.role.RoleEntity;
import com.yonyougov.devops.cruxcisupport.userrole.dto.service.UserPageByRoleRaramLikeDto;
import com.yonyougov.devops.cruxcisupport.userrole.dto.service.UserRoleByUserParamPageLikeDto;
import com.yonyougov.devops.cruxcisupport.userrole.vo.UserRoleByRoleParamPageLikeVo;
import com.yonyougov.devops.cruxcisupport.userrole.vo.UserRoleByUserParamPageLikeVo;
import com.yonyougov.devops.fwc.core.dao.BaseDao;

import java.math.BigInteger;
import java.util.List;

/**
 * t_user_role数据层
 */
public interface UserRoleDao extends BaseDao<UserRoleEntity, BigInteger> {
    //<!--用户自定义代码开始-->
    void addBatch(List<UserRoleEntity> userRoleEntities);

    void deleteBatchUserRoleByIds(List<BigInteger> ids);

    List<UserRoleByUserParamPageLikeVo> findByUserParamPageLike(UserRoleByUserParamPageLikeDto userRoleByUserParamPageLikeDto);

    int countByUserParamPageLike(UserRoleByUserParamPageLikeDto userRoleByUserParamPageLikeDto);

    List<RoleEntity> findRolesByUserId(BigInteger userId);


    int countByRoleParamPageLike(UserPageByRoleRaramLikeDto userPageByRoleRaramLikeDto);

    List<UserRoleByRoleParamPageLikeVo> findByRoleParamPageLike(UserPageByRoleRaramLikeDto userPageByRoleRaramLikeDto);
    //<!--用户自定义代码结束-->
}
